Naszyjniki
Limit pamięci: 32 MB
Pasją małej Małgosi jest zbieranie naszyjników złożonych z różnorodnych koralików.
Jej kolekcja jest już na tyle duża, że postanowiła ją opisać.
Każdy naszyjnik został zapisany jako ciąg liter alfabetu angielskiego.
Kolejnym literom odpowiadają kolejne koraliki naszyjnika, przy czym pierwszy
i ostatni koralik sąsiadują ze sobą.
Małgosia dzieli koraliki na małe i duże oraz na jasne i ciemne.
Przy zapisywaniu małych koralików korzystała z małych liter alfabetu,
natomiast przy zapisywaniu dużych koralików używała liter wielkich.
Do oznaczania koralików jasnych używała samogłosek (czyli liter a, e, i, o, u, y),
natomiast do ciemnych - spółgłosek.
Dziewczynka zamierza podzielić każdy ze swoich naszyjników na najmniejszą
możliwą liczbę segmentów (czyli kawałków naszyjnika złożonych z kolejnych koralików),
z których każdy ma się składać z koralików o tej samej wielkości i o tym
samym odcieniu.
Zastanawia się, jak w prosty sposób, mając dany jedynie opis naszyjnika,
dowiedzieć się, jaki jest jego najdłuższy i najkrótszy segment.
Może się co prawda zdarzyć, że jeden naszyjnik będzie zawierać kilka segmentów
o minimalnej bądź maksymalnej długości, jednak w takim wypadku dziewczynkę
interesuje zawsze segment złożony z większych koralików, bądź z koralików
jaśniejszych, jeżeli rozmiar koralików w "remisowych" segmentach jest taki sam.
Pomóż Małgosi rozwiązać ten problem!
Dla danych naszyjników określ długości segmentów interesujących Małgosię
oraz charakterystykę składających się na nie koralików.
Wejście
W pierwszym wierszu standardowego wejścia znajduje się jedna liczba całkowita
() oznaczająca liczbę naszyjników do zbadania.
W każdym z kolejnych wierszy znajduje się opis jednego naszyjnika
w postaci ciągu małych i wielkich liter alfabetu angielskiego (bez żadnych
odstępów).
Sumaryczna długość wszystkich ciągów stanowiących opisy naszyjników
w żadnych teście nie przekroczy .
Wyjście
Twój program powinien dla każdego wczytanego naszyjnika wypisać na standardowe
wyjście dokładnie dwa wiersze, zawierające odpowiednio opis najdłuższego
i najkrótszego segmentu tego naszyjnika.
W przypadku istnienia kilku segmentów równej długości (minimalnych bądź
maksymalnych), należy wypisać informację o segmencie o większych koralikach, jeżeli zaś
również rozmiar koralików w segmentach jest taki sam, to należy wybrać
segment jaśniejszy.
Każdy opis segmentu powinien składać się z jednej liczby całkowitej oraz
jednego słowa, oddzielonych pojedynczym odstępem, oznaczających
odpowiednio liczbę koralików wchodzących w skład segmentu oraz jego rodzaj.
Rodzaj segmentu powinien być jednym ze słów:
- jasne, jeśli segment składa się z jasnych, małych koralików,
- JASNE, jeśli segment składa się z jasnych, dużych koralików,
- ciemne, jeśli segment składa się z ciemnych, małych koralików,
- CIEMNE, jeśli segment składa się z ciemnych, dużych koralików.
Przykład
Dla danych wejściowych:
2
oaBDrlIOIaeiy
oioioioi
poprawną odpowiedzią jest:
6 jasne
2 CIEMNE
8 jasne
8 jasne
Komentarz do przykładu
W najdłuższy segment pierwszego naszyjnika - aeiyoa - jest
złożony z małych, jasnych koralików.
Najkrótsze segmenty tego naszyjnika są dwa: BD i rl.
Małgosię interesuje pierwszy z nich, gdyż jest on złożony z większych
koralików.
Autor zadania: Błażej Osiński.